package com.lovo.csc.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.lovo.csc.bean.PromotionalSchemesBean;
import io.swagger.models.auth.In;

/**
 * 促销方案service接口
 */
public interface IPromotionalSchemesService {
    /**
     * 分页查询所有促销方案
     * @param pageNum 页码
     * @return 分页对象集合
     */
    IPage<PromotionalSchemesBean> findByPage(Integer pageNum);
    /**
     * 根据MQ拉取的对象添加促销信息
     * 并且添加商品和促销表的中间表信息
     * @param promotionalSchemesBean 促销实体
     */
    void addPromotional(PromotionalSchemesBean promotionalSchemesBean);

    /**
     * 添加商品和促销订单中间表信息
     * @param promotionalId 促销订单id
     * @param productIdArr 商品id
     * @param rate 促销率
     */
    void addPromotionalByProduct(long promotionalId, Integer[] productIdArr, float rate);

    /**
     * 根据促销订单的id，修改促销表的审核状态
     * @param promotionalId 促销id
     * @param audit 审核状态 0-待审核 1-审核通过 2-审核不通过
     */
    void update(long promotionalId,int audit);

    /**
     * 根据id查询该审核信息
     * @param promotionalId 审核id
     * @return
     */
    PromotionalSchemesBean findById(long promotionalId);
}
